真的寫到 Day 30 了。
如果現在要我說這 30 天最大的感受,我第一個想到的,其實跟剛開始做 PawPal 的時候很像。
就是:
我根本沒有想過自己真的會完成。
剛開始做 PawPal 的時候,我沒有想過自己最後真的會跟著團隊把一個專案一路做到上線。
開始鐵人賽的時候也是。
30 天、30 篇文章。
光是看這個數字,就覺得很遠。
尤其這又是我第一次參加鐵人賽。
那時候我很想把它完成,所以給自己的想法其實很簡單:
第一次挑戰,我一定要完成這個里程碑。
但老實說,我並沒有真的把握自己可以走到 Day 30。
反而比較像這 30 天裡,每天做一點。
先把今天的文章整理完,再往下一篇走。
有時候重新看 PawPal,有時候翻以前寫過的程式,有時候重新整理當初開過的 Issue、PR,還有自己曾經卡住的問題。
一天一點。
一篇一篇。
然後就走到了今天。
這 30 天對我來說,最大的收穫其實不只是「我有 30 篇文章了」。
如果只是為了湊到 30 篇,我想它不會留下這麼多東西。
真正讓我有感的是,我重新把 PawPal 走過一次。
以前做專案的時候,注意力大多都放在眼前的事情。
今天這張 Issue 要怎麼做?
這個畫面為什麼跑掉?
API 為什麼沒有資料?
Git 又發生什麼事?
功能完成之後,很快又會進到下一件事情。
所以有很多經驗,其實當下做完就過去了。
但這次為了寫文章,我開始重新回去看。
重新讀自己的程式。
重新想當初為什麼會這樣寫。
重新整理遇過的問題。
也重新去理解一些以前只知道「有做過」,卻沒有真的說得清楚的東西。
有些以前看不太懂的地方,現在重新看,開始比較有概念。
有些事情我以前只能說:
「這個功能我有做過。」
現在至少開始能整理成:
我做了什麼
→ 遇到什麼問題
→ 當時怎麼處理
→ 最後學到什麼
我覺得這才是這 30 篇文章真正留下來的東西。
完成 Day 30 當然是一件值得開心的事情。
因為這是我第一次挑戰鐵人賽,而且我真的把它走完了。
它也替我這段前端轉職的過程,留下一個很明確的紀錄。
但我不會因為寫完 30 篇文章,就覺得自己已經準備好了。
我還是有很多不會的東西。
JavaScript、Vue 還有很多地方要補。
PawPal 裡也還有不少其他組員的程式,我需要更多時間才能理解。
如果真的開始第一份前端工作,遇到自己沒看過的程式、沒做過的需求,我想我還是會緊張。
所以對我來說,這個里程碑比較不是:
我完成了,所以我準備好了。
而是:
我完成了這一個階段,所以可以開始往下一個階段走了。
鐵人賽結束之後,我現在最直接的目標其實很明確。
就是開始認真找第一份前端工作。
投履歷、準備面試,然後試著把自己這段時間做過的事情說清楚。
我不覺得 PawPal 和這 30 天,可以證明我現在已經是一個很厲害的前端工程師。
我也不希望把它說成那樣。
我比較希望它可以讓別人看到:
我雖然還是一個轉職的新手,但我真的參與過一個完整的團隊專案。
在 PawPal 裡,我實際碰過前端畫面、API 串接、資料庫、Git、部署和 Debug。
我還有很多不會,但至少現在的我,已經比較能把自己參與過什麼、遇過什麼問題,以及從裡面學到什麼說清楚。
對我來說,這可能比把自己說得很厲害更重要。
因為我希望面試的人看到的,不是「我什麼都會」。
而是:
我是真的有走過這段過程。
如果之後真的進到第一份前端工作,我不敢說自己看到陌生的東西就不會害怕。
應該還是會。
遇到看不懂的程式,可能還是要讀很久。
拿到一個沒做過的功能,也可能還是不知道一開始該怎麼做。
但我覺得跟以前不太一樣的是,我現在比較知道該怎麼面對。
以前可能很容易把一個任務理解成:
把畫面做出來
→ 功能可以動
→ 完成
但有過 PawPal 的經驗之後,我開始知道,要完成一個任務,其實還有很多事情需要一起確認。
需求到底是什麼?
自己負責的是哪一段?
相關的程式現在怎麼運作?
資料從哪裡來?
如果有問題,需要跟誰確認?
最後做完之後,又要怎麼讓團隊知道自己改了什麼?
我現在當然還做不到每一件事情都處理得很好。
但至少已經比較知道,要把一個任務真正做完整,不是只有把程式碼寫出來。
PawPal 也讓我第一次有比較完整的團隊合作經驗。
以前想到工程師,我可能比較容易想到的是寫程式。
但真的一起做專案之後才會發現,自己的程式碼只是一部分。
還有溝通、確認、Review、整合。
有時候自己改的東西會影響別人。
有時候別人正在做的功能,也會影響自己。
有不知道的地方要問。
有不確定的地方要先確認。
所以如果真的進到第一份前端工作,我除了希望自己能慢慢更獨立地完成被指派的功能,我也很希望自己可以更好地融入團隊。
能更清楚地說:
我現在做到哪裡
我遇到什麼問題
我需要確認什麼
接下來準備怎麼處理
我覺得這也是我下一個階段很想繼續學的事情。
不是只讓自己的程式寫得更好。
而是學著怎麼和其他人一起,把事情做好。
Day 30 是鐵人賽的最後一天。
但我不打算因為鐵人賽結束,就把這些紀錄停在這裡。
我本來就有寫部落格的規劃。
所以這 30 天的文章,之後也會整理並同步到自己的部落格。
我希望部落格可以繼續記錄我學到的技術,也留下自己的成長過程。
不一定每一篇都要是一篇很完整的教學。
可能是某個以前不懂的觀念。
可能是遇到的一個 Bug。
也可能只是某一天突然看懂以前看不懂的程式。
因為經過這 30 天之後,我更能感受到一件事:
很多東西如果當下沒有留下來,過一陣子回頭看,真的很容易只記得「我做過」,卻忘了當時到底怎麼做、為什麼會卡住。
但當我重新把它寫出來、整理出來,我才會發現:
原來那件事情我真的學過。
原來我那時候卡在這裡。
原來現在的我,已經和當時有一點不一樣了。
鐵人賽結束之後,我接下來還是有很多事情要做。
最主要的是:
開始投前端職缺
→ 準備面試
→ 找到第一份前端工作
同時,我也會繼續補 JavaScript 和 Vue。
繼續回頭讀 PawPal 裡還沒有完全理解的程式。
再把這 30 篇文章整理到自己的部落格上。
事情其實還是很多。
而且下一個階段,也不一定會比這 30 天簡單。
但如果這次鐵人賽真的有讓我學到一件事情,我想就是:
很多看起來很遠的事情,好像都不是某一天突然完成的。
PawPal 是這樣。
這 30 天也是這樣。
都是先把眼前的一件事情做好,再往下一件走。
一天一點。
最後回頭的時候,才發現自己已經走了一段路。
開始這次挑戰的時候,我對自己說:
第一次挑戰,我一定要完成這個里程碑。
現在,真的完成了。
但我想,這不會是我前端這條路上的最後一個里程碑。
它比較像是告訴我:
這一個階段,我真的走完了。
PawPal 讓我第一次真正參與一個完整的團隊專案。
這 30 天,讓我第一次把自己的專案經驗和學習過程,一篇一篇整理下來。
接下來,我想做的事情也很簡單。
繼續學。
繼續記錄。
然後,開始找第一份前端工作。
鐵人賽到這裡結束了。
但屬於我的下一個挑戰,才正要開始。